/*
 * HtmlDataHandler.hpp
 *
 *  Created on: 2010-5-3
 *      Author: anod
 */

#ifndef HTMLDATAHANDLER_HPP_
#define HTMLDATAHANDLER_HPP_

#include <stdexcept>

#include <QString>
#include <EventSender.hpp>
#include <Module-AppConfig/WidgetConfig.hpp>

namespace AppData
{

class HtmlDataParser;

/**
 * 类HtmlDataHandler，在下载完页面之后的页面数据交由这个类来处理
 */
class HtmlDataHandler:public EventSender
{
	// $$调用接口
public:
	/**
	 * 函数功能：把spider拖回来的内容进行数据采集
	 * 参数：   spider下载回来的页面
	 * 发送事件：DATA_READY, DATA_DAMAGED
	 */
	void  parseHtml(const char*) throw(std::logic_error);

	// $$setter & getter
public:
	void        setPolicy(int policy);
	int         getPolicy();

	// $$构造函数
public:
	HtmlDataHandler(int policy=AppConfig::WidgetConfig::POLICY_TYPE_SCRIPT);
	virtual ~HtmlDataHandler();
private:
	HtmlDataParser *_impl;
};

}
#endif /* HTMLDATAHANDLER_HPP_ */
